package model_response

import (
	"go-admin/internal/model"
)

type ListDictResponse struct {
	CommonId
	DictName string `json:"dictName"` // 字典名称
	Type     string `json:"type"`     // 字典类型
	IsSystem string `json:"isSystem"` // 是否是系统内置 '0': 不是 '1': 是
	IsBanned string `json:"isBanned"` // 是否禁用
	CommonCreatedOn
}

type DictDetail struct {
	CommonId
	DictName string `json:"dictName"` // 字典名称
	Type     string `json:"type"`     // 字典类型
	IsSystem string `json:"isSystem"` // 是否是系统内置 '0': 不是 '1': 是
	IsBanned string `json:"isBanned"` // 是否禁用
	Remark   string `json:"remark"`   // 备注
}

// 模型转返回结构体
func ModelToListDictRes(models []*model.Dict) []*ListDictResponse {
	var list []*ListDictResponse
	for _, m := range models {
		l := ListDictResponse{
			CommonId:        CommonId{m.Id},
			DictName:        m.DictName,
			Type:            m.Type,
			IsSystem:        m.IsSystem,
			IsBanned:        m.IsBanned,
			CommonCreatedOn: CommonCreatedOn{CreatedOn: m.CreatedOn},
		}
		list = append(list, &l)
	}
	return list
}

// 模型转详情结构体
func ModelToDetailDictRes(model *model.Dict) *DictDetail {
	dict := &DictDetail{
		CommonId: CommonId{Id: model.Id},
		DictName: model.DictName,
		Type:     model.Type,
		IsSystem: model.IsSystem,
		IsBanned: model.IsBanned,
		Remark:   model.Remark,
	}
	return dict
}
